{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import os\n",
    "import re\n",
    "\n",
    "import numpy as np"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "from pylab import *"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "from pythonlib import boolean as boolean\n",
    "from pythonlib import boolean_net as boolean_net"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "import random as random #random could be destroyed by matplotlib"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [],
   "source": [
    "def show_nn(bl1):\n",
    "    fig,axs=plt.subplots(nrows=1, ncols=5, figsize=(12, 6))\n",
    "    axs[0].imshow(np.array([bl1.inode]),vmin=0,vmax=1)\n",
    "    axs[0].set_title('inode')\n",
    "    axs[0].set_axis_off()\n",
    "    axs[1].imshow(bl1.wi,vmin=0,vmax=1)\n",
    "    axs[1].set_title('wi')\n",
    "    axs[1].set_axis_off()\n",
    "    axs[2].imshow(np.array([bl1.hnode]),vmin=0,vmax=1)\n",
    "    axs[2].set_title('hnode')\n",
    "    axs[2].set_axis_off()\n",
    "    axs[3].imshow(bl1.wo,vmin=0,vmax=1)\n",
    "    axs[3].set_title('wo')\n",
    "    axs[3].set_axis_off()\n",
    "    axs[4].imshow(np.array([bl1.onode]),vmin=0,vmax=1)\n",
    "    axs[4].set_title('onode')\n",
    "    axs[4].set_axis_off()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 94,
   "metadata": {},
   "outputs": [],
   "source": [
    "bl1=boolean_net.booleannet('bl.db',3,6,1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 95,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 864x432 with 5 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "show_nn(bl1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 96,
   "metadata": {},
   "outputs": [],
   "source": [
    "targets=[True]\n",
    "inputs=[True,False,False]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 111,
   "metadata": {},
   "outputs": [],
   "source": [
    "bl1.train(inputs,targets)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 112,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 864x432 with 5 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "bl1.inode=inputs\n",
    "bl1.feedforward()\n",
    "show_nn(bl1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 113,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[ True, False,  True],\n",
       "       [False,  True, False],\n",
       "       [False, False,  True],\n",
       "       [False, False,  True],\n",
       "       [False,  True, False],\n",
       "       [False,  True, False]])"
      ]
     },
     "execution_count": 113,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "bl1.wi"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 114,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[ True, False, False, False, False, False]])"
      ]
     },
     "execution_count": 114,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "bl1.wo"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 115,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 864x432 with 5 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "bl1.feedforward()\n",
    "show_nn(bl1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 116,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 864x432 with 5 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "bl1.feedforward()\n",
    "show_nn(bl1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 117,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 864x432 with 5 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "bl1.wo=np.array([[True,False,False,False,False,False]])\n",
    "show_nn(bl1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 118,
   "metadata": {},
   "outputs": [],
   "source": [
    "bl1.onode=[True]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 119,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 864x432 with 5 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "bl1.backPropagate(targets)\n",
    "show_nn(bl1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
